
#ifndef BIGINT_H
#define BIGINT_H

/**
 * 大整数，最大可以表示10^90 - 1
 * 采用小端存储。
 *
 * sign表示符号，0表示正数，1表示负数
 */
typedef struct
{
	int d[10];
	int digits;
	char sign;
} bigint;

int a2bigint(char *s, bigint *bi);

char* bigint2a(bigint *b);

bigint add(bigint a, bigint b);

bigint sub(bigint a, bigint b);

bigint mul(bigint a, bigint b);

int bigintcmp(bigint a, bigint b);

#endif
